<?php

 require_once "../config/DefinitionsSQL.php";
 require_once "../config/DefinitionsDAO.php";
 require_once "../config/DefinitionsDTO.php";

/**
 * Criado em 01/12/2009
 * FazerInscricaoController.php
 */
 class FazerInscricaoController {

 	public $dao;

	/**
	 * Metodo Construtor
	 */
	public function FazerInscricaoController() {
		$this->dao = new DAOFactory();
	}

	/**
	 *  Metodo para carregar dados de um candidato existente a partir do CPF
	 * @since 1.0 - 01/12/2009
	 */
	public function carregarDadosCandidatoExistente($cpf) {
		try {
			if ($cpf != "") {
				$candidato = $this->dao->getCandidatoDAO()->obterNomeSobrenomeEmailCandidato($cpf);

				if ($candidato != null) {
					// String que vai receber os dados dos candidato, e sera tratada via ajax.
					$dados = $candidato[0]->nome ."|". $candidato[0]->sobrenome ."|". $candidato[0]->email;

					return $dados;
				}
			} else {
				return null;
			}

		} catch (Exception $e) {
			echo 'Exce&ccedil;&atilde;o do sistema: ' .$e->getMessage();
		}
	}

	/**
	 *  Metodo para salvar os dados do candidato na tabela candidato
	 * @since 1.0 - 01/12/2009
	 */
	public function salvarCandidato($candidato) {
		try {
			if ($candidato == "" ) {
				throw new Exception("Par&acirc;metro nulo em FazerInscricaoController->salvarCandidato");
			}

			$this->dao->getCandidatoDAO()->insert($candidato);

		} catch (Exception $e) {
			echo 'Exce&ccedil;&atilde;o do sistema: ' .$e->getMessage();
		}
	}

	/**
	 *  Metodo para atualizar os dados do candidato na tabela candidato
	 * @since 1.0 - 01/12/2009
	 */
	public function atualizarCandidato($candidato) {
		try {
			if ($candidato == "" ) {
				throw new Exception("Par&acirc;metro nulo em FazerInscricaoController->atualizaCandidato");
			}

			$this->dao->getCandidatoDAO()->update($candidato);

		} catch (Exception $e) {
			echo 'Exce&ccedil;&atilde;o do sistema: ' .$e->getMessage();
		}
	}

	/**
	 *  Metodo para salvar os dados dos campos dinamicos na tabela conteudocampo
	 * @since 1.0 - 01/12/2009
	 */
	public function salvarConteudo($conteudoCampo) {
		try {
			if ($conteudoCampo == "" ) {
				throw new Exception("Par&acirc;metro nulo em FazerInscricaoController->salvarConteudo");
			}

			$this->dao->getConteudoCampoDAO()->insert($conteudoCampo);

		} catch (Exception $e) {
			echo 'Exce&ccedil;&atilde;o do sistema: ' .$e->getMessage();
		}
	}

	/**
	 *  Metodo para carregar dados de um candidato existente a partir do CPF
	 * @since 1.0 - 01/12/2009
	 */
	public function verificarRegistroCandidato($cpf) {
		try {
			if ($cpf == "" ) {
				throw new Exception("Par&acirc;metro nulo em FazerInscricaoController->verificarRegistroCandidato");
			}

			$candidato = $this->dao->getCandidatoDAO()->obterNomeSobrenomeEmailCandidato($cpf);

			if (! empty($candidato)) {
				return $candidato;
			} else {
				return null;
			}

		} catch (Exception $e) {
			echo 'Exce&ccedil;&atilde;o do sistema: ' .$e->getMessage();
		}
	}

 }

?>
